A database is an organized collection of data that enables the data to be retrieved, updated, and managed. Databases may include many different types of data, such as texts, numbers, graphics, media, and other types of information. Databases are commonly used to store data for many applications and systems, such as inventory systems, medical record-keeping systems, financial record-keeping systems, airline reservation systems, and other systems.
To access and manage a database, a database management system (DBMS) is commonly utilized, such as in accounting, human resources, and customer support systems. Typically, for every database, there is a schema, a structural description of the type of data held in the database. The schema describes the data that are represented in the database, and the relationships among them. There are many different ways of organizing a schema. In other words, there are many ways to model a database structure. Such a model is referred to as a “database model” or a “data model”. DBMSs are usually categorized according to the data model that they support: relational, object-relational, network, and so on. The data model usually determines the types of query languages that are available to access the database.
One popular query language is the Structured Query Language (SQL). However, SQL, like many other query languages, only has a relatively small set of commands that one can use to manipulate data. Additionally, a user needs to understand the rules for formulating the query and to program the query according to the requirements, and the syntax for the query language is usually rather complex. Additionally, when a user needs to manipulate a large set of data, the user will usually use a technical computing program, such as MATLAB® of The Mathworks, Inc. from Natick, Mass., running on a client computer to write code to connect to the database and then submit queries one by one to retrieve data and then perform calculations, such as statistical analysis, using the data. After calculations are done in the technical computing environment, users sometimes need to connect to the database again and submit queries to store calculation results in the database. However, this method requires the user to understand the syntax of the query language to connect to the database to read and write data, and it also requires a great deal of network traffic. Hence, there is a need to simplify this process.